package com.peas.platform.module.icims.budget.apply.service;

import com.peas.platform.framework.mybatisplus.service.BaseService;
import com.peas.platform.module.icims.budget.apply.api.req.SaveBudgetTwoVo;
import com.peas.platform.module.icims.budget.apply.api.req.SubmitBudgetTwoVo;
import com.peas.platform.module.icims.budget.apply.controller.vo.BudgetTwoVo;
import com.peas.platform.module.icims.budget.apply.dto.BudgetTwoDto;

import java.math.BigDecimal;
import java.util.List;

public interface BudgetTwoService extends BaseService<BudgetTwoDto> {

    BudgetTwoDto saveBudgetTwo(SaveBudgetTwoVo vo);

    void submitBudgetTwo(SubmitBudgetTwoVo vo);

    void revocationBudgetTwo(Long id);

    List<BudgetTwoDto> queryBudgetTwoById(List<Long> idList);

    List<BudgetTwoDto> queryBudgetTwoByOrganizationId(Long organizationId);

    List<BudgetTwoDto> queryBudgetTwoByProjectOneId(Long projectOneId);

    List<BudgetTwoDto> queryBudgetTwoByApplyGovernmentId(Long applyGovernmentId);

    List<BudgetTwoDto> queryBudgetTwoByUseGovernmentId(Long useGovernmentId);

    BigDecimal calcBudgetTwoTotalAmount(BudgetTwoDto dto);

    void adjustBudgetTwoAmount(List<BudgetTwoVo> btvs);

}
